Method for self-cleaning dat drive tape heads

ABSTRACT

A method for monitoring the performance of a DAT drive and a method for self-cleaning the tape heads of a DAT drive pursuant to the occurrence of an error that could not be corrected by re-reads or re-writes. The monitoring method includes the steps of (a) reading a tape, (b) determining for each of successive groups of frames respective A track and B track reference error counts representative of the A track and B track C1 error counts in each group of frames, each group having the same number of frames, and (c) providing a warning signal indicative of degraded performance if (i) either the A track reference counts for a predetermined number of consecutive frame groups exceed a predetermined threshold or the B track reference counts for a predetermined number of consecutive frame groups exceed a predetermined threshold, or (ii) if both the A track and B track reference counts for the predetermined number of consecutive frame groups exceed the predetermined threshold. The self-clean procedure includes the steps of moving the tape to the end of the tape at a speed higher than normal, moving the tape to the beginning of the tape at a speed higher than normal, positioning the tape at the location of the error, providing a warning to the user, and resuming the operation that resulted in occurrence of the error. If the error persists, the user is notified of the occurrence of an uncorrectable error.

This is a divisional of U.S. application Ser. No. 07/679,668, filed Apr.3, 1991, now U.S. Pat. No. 5,253,126.

BACKGROUND OF THE INVENTION

The disclosed invention is directed generally to computer storagedigital audio tape (DAT) drives, and is directed more particularly totechniques for monitoring read error rates to provide early indicationsof degrading tape or dirty tape heads before an unrecoverable erroroccurs, and to a technique for cleaning the tape heads of a DAT drivepursuant to occurrence of an error that could not be corrected byre-reads or re-writes.

Digital audio tape (DAT) technology, which was developed for audioprogramming as defined in the DAT Conference Standard, DIGITAL AUDIOTAPERECORDER, June 1987, published by the Electronic IndustriesAssociation of Japan, has been adapted for storage of computer data. Anexample of a format for the storage of computer data utilizing DATtechnology is the American National Standards Instituted (ANSI) DigitalData Storage (DDS) standard, presently in draft form ("PROPOSED AMERICANNATIONAL STANDARD HELICAL-SCAN DIGITAL COMPUTER TAPE CARTRIDGE 381 mm(0.150 in) FOR INFORMATION INTERCHANGE," ASC X3 Project No. 668-D).

The characteristics that have made DAT technology attractive forcomputer data storage include high capacity, high transfer ratecapability, relatively small media size and low media cost, and theadaptability of DAT technology to conform with personal computer storagedevice form factors including the 51/4 and 31/2 inch forms.

The use of DAT technology for storage of computer data can be achievedby application of a data storage format, such as the above-referencedANSI DDS standard, to the DAT Conference audio standard. In particular,the DAT audio standard physical track format is retained, but thecontents of the information stored in the tracks is in accordance withthe computer data storage format.

The storage media in DAT technology is magnetic tape that is movedrelative to tape heads, tape guides, and so forth, and like most tapesis subject to wear with increased use. A worn tape is unreliable andshould be replaced. A consideration with tape wear and deterioration isdetermining when a tape should be replaced. Ideally, a tape should bereplaced before tape wear causes difficulties in writing and/orretrieving data from the tape.

One attempt to provide information indicative of tape deterioration hasbeen the DDS format definition of a System Log area on tape. The DDSformat provides for three levels of error correction which arereferenced as C1 C2, e C3, with C3 being the highest level of errorcorrection, and the System Log area was defined for recording of thenumber of C3 errors and rewrite errors which occurred during the currentuse of the cassette. The intent was to provide an indication of tapedeterioration as manifested by a significant increase in errors relativeto the prior use, and some computer storage DAT drives include thecapability to indicate a warning if current use indicates significantlymore errors than prior use. However, a warning based on the System Loginformation as to C3 errors and rewrite errors may be too late toprevent unrecoverable errors. C3 read errors occur only when C1 and C2processing fail to correct a track (i.e., when there are more than 24 C1errors in a track). If both C1 and C2 fail to correct, it is likely thatmany tracks in the vicinity of a defect will be uncorrectable, such thatC3 cannot recover the data (C3 corrects only two tracks per group).While the increase in C3 errors shows that a head clog or unrecoverableerror occurred, such increase does not provide an effective earlywarning of a head clog or gradual tape deterioration. The same is trueof monitoring the number of rewrites during writing. Rewrites arenormally done only if a severe tape defect is detected, and thus do notprovide an early warning of a head clog or gradual tape deterioration.

SUMMARY OF THE INVENTION

It would therefore be an advantage to provide for early warning of tapedeterioration or tape head clogs that allows preventive measures to betaken.

Another advantage would be to provide for a tape head cleaning procedureperformed by the tape drive in the event of the occurrence of an errorthat could not be corrected by re-reads or re-writes.

The foregoing and other advantages are provided by the raw errormonitoring and head self-cleaning procedures of the invention. The rawerror monitoring procedures includes the steps of (a) reading a tape,(b) determining for each of successive groups of frames respective Atrack and B track reference error counts representative of the A trackand B track C1 error counts in each group of frames, each group havingthe same number of frames, and (c) providing a warning signal indicativeof diminished or degraded performance if (i) either the A trackreference counts for a predetermined number of consecutive frame groupsexceed a predetermined threshold or the B track reference counts for apredetermined number of consecutive frame groups exceed a predeterminedthreshold, or (ii) if both the A track and B track reference counts forthe predetermined number of consecutive frame groups exceed thepredetermined threshold.

The self-clean procedure is carried out pursuant to the occurrence of anerror that could not be corrected by re-reads or re-writes, and includesthe steps of moving the tape to the end of the tape at a speed higherthan normal, moving the tape to the beginning of the tape at a speedhigher than normal, positioning the tape at the location of the error,providing a warning to the user, and resuming the operation thatresulted in occurrence of the error. If the error persists, the read orwrite operation is terminated and the user is notified of the occurrenceof an uncorrectable error.

BRIEF DESCRIPTION OF THE DRAWINGS

The advantages and features of the disclosed invention will readily beappreciated by persons skilled in the art from the following detaileddescription when read in conjunction with the drawing wherein:

FIG. 1 is a schematic illustration of the different areas on a singletrack of a DAT tape.

FIG. 2 is a block diagram of the components of a DAT drive with whichthe subject invention can be implemented.

FIGS. 3 and 4 are flow diagrams of procedures performed by the tapedrive of FIG. 2 for monitoring raw errors in accordance with theinvention.

FIG. 5 is a flow diagram of a tape head self-cleaning procedureperformed by the tape drive of FIG. 2 in accordance with the invention.

DETAILED DESCRIPTION OF THE DISCLOSURE

In the following detailed description and in the several figures of thedrawing, like elements are identified with like reference numerals.

By way of illustrative example, the disclosed invention can beimplemented generally in accordance with the ANSI DDS standardreferenced in the background, and the following is based uponconformation with ANSI DDS. However, it should be readily appreciated bypersons skilled in the art from reading of the subject disclosure thatother computer data storage recording formats can be utilized toimplement the invention.

For ease of explanation, some aspects of DDS formatting that arepertinent to the invention will be briefly discussed. DDS formattingorganizes data into data groups respectively having 22 or 23 frames,where each frame comprises 2 physical tracks on tape which are commonlydesignated as A and B tracks.

Referring to FIG. 1, set forth therein by way of illustrative example isa schematic layout of one track of a computer data storage DDS DAT tape.A Main Area, which corresponds to the Main area in DAT audio tapes,stores user data as well as data management information such as thelogical Frame Number (LFN) of the frame with which the particular trackis associated. The LFN is the logical position of the frame in theassociated data group, which can be different from the actual physicallocation of the frame due to factors such as rewrites. Further, logicalframes an be out of sequence because of appends, rewrites, head clogsduring write operations, and bad tape areas. DDS formatting supports aread-after-write technique wherein a frame identified as being a badframe can be rewritten downstream of the bad frame. In particular, theframe can be rewritten after zero, one, two, three, four or five otherframes have been written. The subject disclosure takes into account suchread-after-write procedures without regard to logical frame numbers.

The tape Subareas store, among other information, the LFN of theassociated frame, the Absolute Frame Count (AFC) for the associatedframe, a subcode type identifier, a tape area identifier, as well asother information. The AFC represents the actual physical location of aframe in the sequence of frames on a tape.

A data group includes 22 or 23 frames, depending on whether a thirdlevel of error correction code (ECC) is utilized with the group, andgroup boundaries can be indicated by amble frames which have an LFN of0, by the status of a last frame I.D. bit in the frame header and in thesubcode, or by a frame that has an LFN of 1. However, withread-after-write, the last frames in one group could be meshed with theinitial frames in the subsequent group, and the procedure for readinggroups will need to recognize and properly process this circumstance.

The ATF (automatic track finding) areas contain tracking informationutilized for centering the tape heads on the tracks on the tape.

Referring now to FIG. 2, shown therein is a generalized block diagram ofthe components of a DAT tape drive system with which a raw errormonitoring technique and a tape head self-cleaning procedure can beimplemented in accordance with the invention. The tape drive systemincludes a controller microprocessor 11, a memory 13 which includesrandom access memory as well as read only memory, a drive interface 15,and a DAT formatter circuit 21. The microprocessor 11 communicates withthe memory 13 and the drive interface 15 via an address bus 17 and adata bus 19. A host interface 18 comprising an interface in accordancewith the ANSI SCSI standard or an IBM PC bus compatible interface, forexample, provides for communication of commands, data blocks, and statusinformation between a host computer and the DAT drive system.

For write operations, the DAT formatter circuit 21 receives Main Areainformation and Subarea information from the drive interface 15,appropriately formats such information in accordance with the DATConference audio standard, and provides the formatted information to thetape drive read/write circuit 23 which provides write signals to A and Bwrite heads 25 which respectively write the A tracks and the B tracks onthe tape.

For read operations, DAT formatter circuit receives tape data from theread/write circuit 23 which is responsive to A and B read heads 27 whichrespectively read the A tracks and the B tracks on the tape. The DATformatter circuit decomposes the information read from tape inaccordance with the DAT Conference audio standards, so as to provide ormake available to the drive interface Main Area data, Sub Area data, andC1 error counts resulting from C1 ECC parity checks performed by the DATformatter circuit on Main Area data and Sub area pack data. By way ofillustrative example, such C1 error counts are provided for each track.

The tape drive further includes a front panel LED 31 which is driven byan LED control circuit 29 that is controlled by the microprocessor 11.

The write heads 25 and the read heads 27 are contained in a drivemechanism 33 which includes standard DAT tape drive mechanicalcomponents such as a tape cylinder 35 for supporting the write heads 25and read heads 27, a cylinder motor 37, a capstan motor 39, reel motors41, and a mode change motor 43. The drive mechanism 33 controls themovement of the tape contained in a DAT cassette 45, and its operationis controlled by a drive mechanism controller 35 which is controlled bythe microprocessor 11 via the drive interface 15.

By way of illustrative example, the tape drive components of FIG. 1 canbe implemented in accordance with the DAT drive system disclosed incommonly assigned U.S. application Ser. No. 07/465,726, filed Jan. 17,1990, for DAT DRIVE/CONTROLLER INTERFACE, incorporated herein byreference.

In accordance with the invention, the C1 error rates for respective Aand B tracks are monitored during read and read-after write operations(i.e., the A tracks are monitored separately from the B tracks), and ifthe error rate for either of the A or B tracks indicates degradedperformance, a warning is activated so as to provide to the user anindication of degraded performance, which typically is due to a worntape or a clogged head. The warning can be the flashing of the LED 31which continues until tape ejection and/or a message communicated viathe host computer interface for display on the host computer videodisplay. A significant consideration for providing a warning thatincludes at least the flashing LED is that the flashing LED should getthe attention of the user when he or she is ejecting the tape.

The C1 error count is a very sensitive indicator of overall readperformance. The number of C1 errors is normally relatively low (e.g.,about 5 in 10,000 blocks), and becomes much higher when the tape is wornor when there is a problem with the drive such as a clogged head. If theC1 error count becomes very high (e.g., greater than 5 in 100 blocks),the overall correction limit of the three levels of ECC correction isbeing approached, and uncorrectable data errors could result. Pursuantto the invention, a C1 error count threshold is selected such thatdegraded performance is indicated when (a) the C1 error count thresholdis exceeded by the average C1 error count for the A tracks for apredetermined number of consecutive samples, or (b) the C1 error countthreshold is exceeded by the average C1 error count for the B tracks fora predetermined number of consecutive samples, where a sample comprisesa large number of tracks. When either condition is detected, a warning(flashing LED and/or display message) is provided to the user indicatingthat drive performance is degrading and that it may be due to a cloggedhead. When both conditions are detected, a non-specific warning isprovided to the user indicating that drive performance is degrading,that it may be due to clogged heads or a worn tape, and that continuedoperation is subject to a diminished error correction margin, but someerror correction margin still remains so as to allow for copying of thetape if the cause of the degraded performance is a worn or degradedtape.

By way of illustrative example, each of the A track samples and B tracksamples comprises 39 tracks; and corresponding A track and B tracksamples are assembled for every 39 frames. Further by way ofillustrative example, the number of consecutive samples that must exceedthe C1 error count threshold is 10 track samples, and the C1 error countthreshold for a 39 track sample is 50, where only the Main Area C1 errorcounts are being monitored, since the Main Area C1 error count for anygive track is representative of the total C1 error count for that track.The threshold of 50 C1 errors per 39 tracks provides for a thresholdrate of 50 block errors in 4992 data blocks.

It should be appreciated that the representative track C1 error countscan alternatively be provided by (i) the respective C1 error counts forthe Sub areas of the A and B tracks, or (ii) the sum of the C1 errorcounts for the Main and Sub areas of the track A and the sum of the C1error counts for the Main and Sub areas of the track B.

The threshold error rate, which for example can be specified via thehost computer or can be fixed, may be in a range of acceptable valuesand should be selected such that a first guardband exists between an"ideal" error rate and the threshold, and a second guardband existsbetween the threshold and the limits of C1, C2 and C3 correctioncapability. One requirement of the threshold value is that it should notbe exceeded by drives and tapes that are operating normally. Thethreshold value that meets this requirement can be determined bycharacterizing a population of drive units and tapes, and can vary fromone drive product to another. Within a range of acceptable thresholdvalues, the threshold may be selected to result in more or lesssensitivity to degraded performance. As sensitivity is increased(threshold is decreased), the guardband between the threshold and thelimits of C1, C2, and C3 correction capability is increased, and thewarnings will be more frequent. As sensitivity is decreased (thresholdis increased), the guardband between the threshold and the limits of C1,C2, and C3 correction capability is decreased, and the warnings will beless frequent.

The use of a large number of tracks sample, which effectively averagesthe error rate over many tracks, and the requirement that C1 errorcounts for a predetermined number of consecutive samples of a giventrack A or B must exceed the threshold are intended to prevent falsetriggering in the presence of localized tape damage (such as a verticalcrease or other defect). Thus, temporary increases in error rate, whichmay be due to localized damage and which may be appropriately handled byECC processing or retries, are ignored. The intent of the C1 errormonitoring is to respond to extended tape damage such as gradualdeterioration due to use.

The degraded performance warning provided in accordance with theinvention is provided even if no re-tries or C3 corrections are needed,and thus is an early warning of degraded operation that is providedbefore the other correction mechanisms (C1, C2, C3, re-tries) areexhausted.

FIGS. 3 and 4 set forth procedures carried out by the tape drive inaccordance with the invention for monitoring the C1 error rates fortracks A and B of every frame. These procedures are based the C1 errorcount for the Main area of the track A being available prior to the C1error count for the Main area of the associated track B. Theseprocedures utilize variables TOTAL₋₋ A, TOTAL₋₋ B, NFRAME, SAMPLE₋₋ ACOUNT, and SAMPLE₋₋ B COUNT which are initialized to 0 at power-up orreset of the tape drive. NFRAME is utilized as a counter for trackingthe number of tracks in the present sample, each frame providing an Atrack error count for the current A track sample and a B track errorcount for the current B track sample. TOTAL₋₋ A and TOTAL₋₋ Brespectively contain the accumulated representative C1 error counts forthe present track A and track B samples. SAMPLE₋₋ A COUNT and SAMPLE₋₋ BCOUNT respectively contain the number of consecutive track A and track Bsamples whose TOTAL₋₋ As and TOTAL₋₋ Bs exceeded the predetermined errorcount threshold which is stored in EMAX. The representative sample C1error counts TOTAL₋₋ A and TOTAL₋₋ B are accumulated from respectiveerror counts EC₋₋ A and EC₋₋ B which are representative of the errorcounts for the tracks A and B of a frame and are provided, for example,by the respective C1 error counts for the Main areas of the A and Btracks of the present frame whose error counts are being added to thepresent A track and B track samples.

Referring to FIG. 3, set forth therein is a procedure that is calledeach time the reading of a Track A is completed. At 111 therepresentative track C1 error count EC₋₋ A for the A track of a frameare obtained from the DAT formatter circuit, for example pursuant toappropriate timing as to the availability of the error count informationfor a frame that has been read from tape. At 113 the representativetrack C1 error count EC₋₋ A is added to TOTAL₋₋ A, and NFRAME isincremented by one. At 115 a determination is made as to whether thenumber of frames NFRAME contributing to the present Track A sample isequal to or greater than the predetermined number of frames FRMAX thatcontribute to a Track A sample. If no, the procedure returns.

If the determination at 115 is yes, NFRAME is equal to or greater thanthe predetermined number of frames FRMAX that contribute to a Track₋₋ Asample, a determination is made at 117 as to whether TOTAL₋₋ A for thecompleted Track A sample is greater than an error count threshold EMAX.If no, at 119 the variables TOTAL₋₋ A and SAMPLE₋₋ A COUNT are both setto zero, and the procedure returns.

If the determination at 117 is yes, TOTAL₋₋ A for the completed Track₋₋A sample is greater than the error count threshold EMAX, at 121 SAMPLE₋₋A COUNT is incremented by one. At 123 a determination is made as towhether SAMPLE₋₋ A COUNT is greater than a predetermined sample countmaximum SMAX which is the number of consecutive excessive error countsamples required to provide a message to the user as more fully setforth in tile procedure of FIG. 4. If yes, at 125 a WARN₋₋ A flag isset, and control transfers to 119. If the determination at 123 is no,SAMPLE₋₋ A COUNT is not greater than SMAX, at 127 TOTAL₋₋ A is set tozero and the procedure returns.

Referring now to FIG. 4, set forth therein is a procedure that is calledat the completion of reading the Track B that is associated with theTrack A whose C1 error count was processed in accordance with theprocedure of FIG. 3. At 211 the representative track C1 error count EC₋₋B for the track B is obtained from the DAT formatter circuit, forexample pursuant to appropriate timing as to the availability of theerror count information for a frame that has been read from tape. At 213the representative track C1 error count EC₋₋ B is added to TOTAL₋₋ B. At215 a determination is made as to whether the number of frames NFRAMEcontributing to the present Track B sample is equal to or greater thanthe predetermined number of frames FRMAX that contribute to a Track Bsample. If no, the procedure returns.

If the determination at 215 is yes, the number of frames contributing tothe present Track B sample is equal to or greater than the predeterminednumber of frames FRMAX in a sample, NFRAME is set to 0 at 216. At 217 adetermination is made as to whether the error count TOTAL₋₋ B of theTrack B sample is greater than the error count threshold EMAX. If no,SAMPLE₋₋ B COUNT is set to zero at 225, and control transfers to thedetermination at 227.

If the determination at 217 is yes, the sample error count TOTAL₋₋ B isgreater than the error count threshold EMAX, the sample count SAMPLE₋₋ BCOUNT is incremented by one at 221, and at 223 a determination is madeas to whether SAMPLE₋₋ B COUNT is greater than the predetermined samplecount maximum SMAX. If yes, at 229 a WARN₋₋ B flag is set, and at 231SAMPLE--B COUNT is set to zero. Control then transfers to thedetermination at 227.

At 227, a determination is made as to whether the WARN₋₋ A flag is set.If no, a determination is made at 235 as to whether the WARN₋₋ B flag isset. If no, at 237 the error count TOTAL₋₋ B is set to zero and theprocedure returns.

If the determination at 227 is yes, the WARN₋₋ A flag is set, at 239 adetermination is made as to whether the WARN₋₋ B flag is set. If yes, at241 a non-specific warning is provided to user indicating that degradedperformance has been detected both the A tracks and the B tracks.Control then transfers to 237.

If the determination at 235 is yes, the WARN₋₋ B flag is set, at 243 aspecific warning is provided to the user indicating that degradedperformance in only the A tracks or only the B tracks has been detectedthat a head clog is the likely cause of the degraded performance.Control then transfers to 237.

If the determination at 239 is no, the WARN₋₋ B flag is not set, at 243the non-specific warning is provided to indicate that degradedperformance in only the A tracks or only the B tracks has been detectedand that a head clog is the likely cause of the degraded performance.Control then transfers to 237.

Pursuant to the foregoing procedures, corresponding track A and Track Bsamples will be calculated from the sample FRMAX frames, and a head clogwarning is provided if the C1 excessive C1 error condition is met bySMAX consecutive track A samples or by SMAX consecutive track B samples,but not both. If the C1 excessive error condition is met by SMAXconsecutive samples of both tracks for the same SMAX frames, then anon-specific warning is provided. The rationale for providing differentwarnings is that if only the A tracks or the B tracks, but not both,have degraded performance, the cause is most likely a clogged head.

The specific warning can be provided for example by setting the LED toflash at a slow rate and/or by providing for display of a message on thehost computer display that degraded performance has been detected andthat the cause of the degraded performance is likely to be a cloggedhead.

The non-specific warning can be provided for example by setting the LEDto flash a medium rate that is perceptibly faster than the LED flashrate for the specific warning and/or by providing for display of amessage on the host computer display that degraded performance has beendetected. Such message can also indicate that the degraded performancehas been detected as to both A and B tracks.

Pursuant to the specific warning provided by the flashing LED and/ordisplay message for a particular tape cassette, the user should cleanthe tape heads after the current operation. Since the warning providedwill initially be in advance of reaching the tape drive error correctionlimit, the current operation does not have to be aborted. If the warningpersists upon the next use of the tape after head cleaning, the cassetteshould be considered marginal and should be replaced. By replacing thecassette, for example by copying the data to another cassette,uncorrectable errors may be avoided. An uncorrectable error that is notpreceded by a raw error monitor warning is not likely to occur, and ifit does, drive failure may be suspected. Sudden head clog may cause anunrecoverable error that is not preceded by a warning, but is unlikely.

Pursuant to a non-specific warning provided by the flashing LED and/ordisplay message for a particular tape cassette, the user should alsoclean the tape heads after the current operation. Since the warningprovided will initially be in advance of reaching the tape drive errorcorrection limit, the current operation does not have to be aborted. Ifthe warning persists upon the next use of the tape after head cleaning,the cassette should be considered marginal and should be replaced.

Despite the early warning of degraded performance provided by theforegoing raw error monitoring procedure, a user might not takepreventive measures in response to the early warning, and thepossibility of uncorrectable error increases with usage time after theearly warning. In a read operation, an error is considered uncorrectableif it cannot be corrected by a predetermined number of re-reads, where are-read is performed if ECC cannot correct the error. In a writeoperation, an error is considered uncorrectable if data cannot besatisfactorily written by a predetermined number of re-writes. By way ofillustrative example, an uncorrectable error occurs when 8 re-readscannot correct read data, and also when 128 re-writes do not result in asuccessful writing of data. Permanent head clog is one of the possiblecauses of uncorrectable error, and the invention further contemplates ahead cleaning procedure that is automatically executed when anuncorrectable error occurs. It is noted that a temporary head clogcauses a transient error which by virtue of its transient nature isignored by the raw error monitoring procedure.

Permanent head clog may be caused by magnetic dust accumulation in thearea of one or more read/write heads, or may be caused by magnetic dustaccumulation on the stationary portion of the cylinder assembly. In thelatter case, the tape may be lifted off the heads such that read/writeis marginal on one or more heads. As magnetic dust accumulates, the C1error rate can gradually increase until the C1 error count threshold ofthe previously described raw data monitoring procedure is exceeded.Further increase in dust build up can result in an uncorrectable error,and the self cleaning procedure attempts to recover from excessivebuild-up of magnetic dust in the event head cleaning is not performedwhen the early warning is indicated. The self-cleaning comprises ahigh-speed (e.g., X300) end-to-end tape shuttle operation in bothdirections which will often remove magnetic dust deposits, at least topermit better than marginal read/write operation of the heads. It isnoted that in severe cases of head clog, manual head cleaning may stillbe required in order to read or write the tape. After the end-to-endshuttle operation, a warning is provided and operation continuesnormally if the self-clean is successful, with the warning continuing asin the C1 error monitoring procedure. If the self-clean procedure is notsuccessful in correcting the error, current read or write operation thatencountered the error is terminated and the user is notified of theoccurrence of an uncorrectable error.

Referring in particular to FIG. 5, set forth therein is a flow diagramof a head cleaning procedure that is executed pursuant to an errorcannot be corrected by ECC coupled with re-reads or by re-writes. At 311the tape is moved to the End Of Tape at a high speed such as X300 (300times normal speed). At 313 the tape is moved to the Beginning Of Tapeat the high speed such as X300. At 315 the tape is re-positioned to thelocation of the uncorrectable error at search speed. At 317 a warning isprovided to the user, and at 319 the failed operation (i.e., read, orwrite followed by read after write) is repeated.

The warning provided at 317 can be a continuation or repetition of awarning that may have been provided pursuant to the raw error monitoringprocedure. If a warning was not present pursuant to the raw errormonitoring procedure, the warning at 317 can comprise, for example,flashing of the LED at the same slow rate as used for the specificwarning of the raw error monitoring and/or a displayed messageindicating that a sudden head clog occurred and was removed.

If the self-clean procedure is successful in correcting the error thatcaused activation of the procedure, operation continues normally and thewarning provided at 317 is not changed. However, if the self-cleanprocedure is not successful in correcting the error, the read or writeoperation that caused the error is terminated and the user is notifiedof an uncorrectable error, for example by setting the LED to flashrapidly at a rate higher than the medium LED flash rate utilized for anon-specific warning pursuant to the raw error monitoring procedure,and/or by a message on the host computer video display.

It should be appreciated that the step of providing a warning at 317 canbe interchanged with the step of continuing operation at 319, in whichcase the warning would be provided if the self-clean procedure issuccessful at correcting the error. If the self-clean procedure is notsuccessful in correcting the error, the read or write operation thatcaused the error is terminated and the user is notified of anuncorrectable error, as discussed previously.

Pursuant to the warning provided by the self-clean procedure, the usershould take the same preventive measures as with the warnings providedby the raw error monitoring procedure. The tape heads should be manuallycleaned after the current operation. If a warning again occurs when thetape is next used after head cleaning, the cassette should be consideredmarginal and should be replaced. By replacing the cassette, for exampleby copying the data to another cassette, it will be possible to avoiderrors that cannot be corrected by re-reads and head self-cleaning, orby re-writes and head self-cleaning.

While the self-cleaning procedure has been discussed in the context ofthe raw data monitoring procedure, it should be appreciated that theself-cleaning procedure can be implemented without the raw datamonitoring procedure. The self-cleaning procedure can be considered as afurther level of error correction that is activated when an error cannotbe corrected by re-reads or by re-writes.

Referring again the to raw error monitoring procedure, that procedurecan be utilized for manufacturing testing of DAT drives. Activation ofthe warning when a drive is operating with a known good tape and withclean heads indicates a problem with the drive.

The foregoing has been a disclosure raw error monitoring procedure thatadvantageously provides an early warning of a deteriorating tape or ahead clog, which allows the user to take preventive measures beforevaluable data is lost. The raw error monitoring procedure furtherencourages the user to use good tapes and to maintain the tape heads,and also provides the user with confidence that tapes the error ratesare well within the error correction capabilities of the drive. Theself-clean procedure advantageously provides an additional layer oferror correction capability that attempts to avoid the necessity ofinterrupting a current operation to clean tape heads, and alsoencourages maintaining the tape heads.

Although the foregoing has been a description and illustration ofspecific embodiments of the invention, various modifications and changesthereto can be made by persons skilled in the art without departing fromthe scope and spirit of the invention as defined by the followingclaims.

What is claimed is:
 1. A process for cleaning the tape heads of a DATdrive pursuant to the occurrence of an error during a data read or writeoperation, where the error is one that could not be corrected byalternated re-reads or re-writes of a corresponding, desired section ofan engaged tape, said tape having a predefined length with first andsecond end portions, said read or write operation each having a normaltape speed associated therewith, said method comprising the sequentialsteps of:(a) first moving the engaged tape relative to the tape heads ata speed higher than the normal read or write speed, so as to pass thelength of engaged tape from the desired section to the first end of tapeportion across the heads at said higher speed; (b) second moving theengaged tape relative to the tape heads at said higher-than normal speedso as to pass the length of engaged tape from the first end of tapeportion to the second end of tape portion across the heads at saidhigher speed: (c) third moving the engaged tape relative to the tapeheads so as to place the heads over the desired tape section; and d)after said third moving step, repeating the operation that resulted inoccurrence of the error.
 2. The process of claim 1 wherein said higherspeed is 300 times one of the normal read and write speeds.
 3. Theprocess of claim 1 wherein the third step of moving the tape so as toplace the heads at the location of the error includes the step of movingthe tape at a search speed that is faster than normal read speed.
 4. Aprocess for cleaning the tape heads of a DAT drive pursuant to theoccurrence of an error during a data read or write operation, where theerror is one that could not be corrected by attempted re-reads orre-writes of a corresponding, desired section of an engaged tape, saidtape having a predefined length with first and second end portions, saidread or write operation each having a normal tape speed associatedtherewith, said method comprising the steps of:(a) moving the engagedtape in a first direction to the first end portion of the tape at aspeed higher than the normal read or write speed; (b) moving the engagedtape in a second direction that is opposite the first direction to thesecond end portion of the tape at a speed higher than the normal read orwrite speed; and (c) after said steps (a) and (b) of moving the tape inopposed first and second directions, moving the engaged tape relative tothe tape heads so as to place the heads over the desired tape section.5. The process of claim 4 wherein the step (a) of moving the tape insaid first direction includes moving the tape at 300 times one of thenormal read and write speeds.
 6. The process of claim 4 wherein the step(b) of moving the tape in said second direction includes moving the tapeat 300 times one of the normal read and write speeds.
 7. The process ofclaim 4 wherein the step (c) of placing the heads over the desired tapesection includes moving the tape at a search speed that is faster thannormal read speed.
 8. A process for cleaning the tape heads of a DATdrive pursuant to the occurrence of an error during a data read or writeoperation, where the error is one that could not be corrected byattempted re-reads or re-writes of a corresponding, desired section ofan engaged tape, said tape having a predefined length with first andsecond end portions, said read or write operation each having a normaltape speed associated therewith, said method comprising the steps of:(a)moving the tape to the first end portion of the tape at a speed that isat least 300 times the normal read speed; (b) moving the tape to thesecond end portion of the tape at a speed that is at least 300 times thenormal read speed; (c) after said steps (a) and (b) of moving the tapein opposed first and second directions, moving the engaged tape relativeto the tape heads so as to place the heads over the desired tapesection; and (d) after said step (c) of placing the heads over thedesired tape section, repeating the operation that resulted inoccurrence of the error.
 9. A method for removing accumulated debrisfrom one or both of tape read and write heads of a DAT drive, where theaccumulation of said debris tends to separate an engaged tape having apredefined length from one or both of said read and write tape heads andto thereby induce errors in corresponding read and/or write operations,said operations being ones wherein digital data is to be transferredbetween the engaged tape and a corresponding one or both of said readand write tape heads, said method comprising the steps of:(a) while saidtape is engaged against the accumulated debris, firstly moving asubstantial length of the tape in a first direction past the debris at asufficiently high speed to remove at least part of the accumulateddebris; and (b) while said tape is engaged against the accumulateddebris, secondly moving a substantial length of the tape in an seconddirection, opposed to the first direction, past the debris at asufficiently high speed to remove at least part of the accumulateddebris.
 10. A debris removing method according to claim 9 wherein therecited substantial lengths of the first and second movings of the tapeadd up to at least the predefined length of the tape.
 11. A debrisremoving method according to claim 9 wherein the first and secondmovings of the tape are carried out automatically, one after the next.12. A debris removing method according to claim 11 wherein the first andsecond movings of the tape are preceded by the step of detecting anuncorrectable error condition, said uncorrectable error conditionarising from an inability to correctly read from or write to a givensection of the tape after a predetermined number of consecutiveattempts; andwherein the first and second movings of the tape arecarried out automatically after said uncorrectable error condition isdetected.
 13. A debris removing method according to claim 12 wherein thefirst and second movings of the tape are followed by the step of:(c)automatically moving the tape a third time relative to the tape heads soas to place the heads over the given section of the tape where theunrecoverable error condition was detected.